#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
using namespace std;

int Add(int& t1, const int& t2)
{
	cout << "int Add(int& t1, int& t2)" << endl;
	return t1 + t2;
}
//template<typename T1, typename T2>
//auto Add(T1& t1, T2& t2)
//{
//	cout << "auto Add(T1& t1, T2& t2)" << endl;
//	return t1 + t2;
//}
template<typename T>
T Add(const T& t1, const T& t2)
{
	cout << "T Add(T& t1, T& t2)" << endl;
	return t1 + t2;
}
int main()
{
	int a = 20;
	double b = 10.23;
	Add(a, b);
	return 0;
}